home *** CD-ROM | disk | FTP | other *** search
/ The Games Machine 76 / XENIATGM66.iso / Indiana Jones / Indiana Jones.exe / RESOURCE / PREVIEW.GOB / cog_actor_indyraft.cog < prev    next >
Text File  |  1999-11-15  |  6KB  |  291 lines

  1. # Jones 3D Cog Script
  2. #
  3. # actor_IndyRaft.cog
  4. #
  5. # [MDR]
  6. #
  7. # Indy's script while using the raft.
  8. #
  9. # (C) 1999 LucasArts Entertainment Company LLC. All Rights Reserved
  10. #
  11. # ===================================================================
  12.  
  13. symbols
  14.  
  15.     message        startup
  16.     message        boarded
  17.     message        damaged
  18.     message        killed
  19.     message        callback
  20.     message        timer
  21.     message        user0
  22.     message        user1
  23.     
  24.     model        leftHandModel=hand_ir_lpad.3do        local    # Autoloaded
  25.     model        rightHandModel=hand_ir_rpad.3do        local    # Autoloaded
  26.        
  27.     model        rftfr_ir_null=rftfr_ir_null.3do        local
  28.     model        rftfr_ir_paddle=rftfr_ir_paddle.3do    local
  29.     model        rftbk_ir_null=rftbk_ir_null.3do        local
  30.     model        rftbk_ir_1=rftbk_ir_1.3do            local
  31.     model        rftbk_ir_2=rftbk_ir_2.3do            local
  32.     model        rftbk_ir_3=rftbk_ir_3.3do            local
  33.     model        rftbk_ir_4=rftbk_ir_4.3do            local
  34.     model        rftbk_ir_5=rftbk_ir_5.3do            local
  35.  
  36.     sound        inflate=riv_raft_inflate.wav        local
  37.     sound        deflate=riv_raft_deflate.wav        local
  38.  
  39.     # RT: Load these templates for engine use
  40.     template    tpl_Splash=+raft_splash    local
  41.     template    tpl_Spray=spritlemist    local
  42.     template    tpl_Wake=+raft_wake        local
  43.     material    wake=gen_a4_raft_wake.mat local
  44.     template    sparks=paddlesplash        local
  45.  
  46.     thing        raft                    local
  47.     thing        indy                    local
  48.  
  49.     int         leftHandMesh            local
  50.     int         rightHandMesh            local
  51.     int            param                    local
  52.     int            handSwapRef=-1            local
  53.  
  54.     int            backSwapRef=-1            local
  55.     int            frontSwapRef=-1            local
  56.     int            backMesh                local
  57.     int            frontMesh                local
  58.     int            sinking                    local
  59.  
  60.     flex        callbacklow                local
  61.  
  62. end
  63.  
  64. # ===================================================================
  65.  
  66. code
  67.  
  68. startup:
  69.  
  70.     MaterialAnim(wake, 10.0, 0x80001);
  71.     return;
  72.  
  73. # -------------------------------------------------------------------
  74.  
  75. user0:
  76.     StartCutScene(2);
  77.     return;
  78. # -------------------------------------------------------------------
  79.  
  80. user1:
  81.     EndCutScene();
  82.     return;
  83. # -------------------------------------------------------------------
  84.  
  85. damaged:
  86.  
  87.     return;
  88.  
  89. # -------------------------------------------------------------------
  90. boarded:
  91.  
  92.     CopyPlayerHolsters(GetSourceRef(), GetSenderRef());
  93.     
  94.     return;
  95.  
  96. # -------------------------------------------------------------------
  97.  
  98. killed:
  99.     sinking = 29;
  100.     SetTimer(0.01);
  101.     return;
  102.  
  103. timer:
  104.     param = sinking;
  105.     if (param >= 24)
  106.     {
  107.         call callbacklow; 
  108.         SetTimer(0.3);
  109.     }
  110.     if (param == 25)
  111.     {
  112.         ThingFadeAnim(raft, 1.0, 0.0, 1.0, 0);
  113.     }
  114.     sinking = sinking - 1;
  115.  
  116.     return;
  117.  
  118.  
  119. # -------------------------------------------------------------------
  120.  
  121.  
  122. callback:
  123. //    DebugPrint("Callback");
  124.  
  125.     raft = GetLocalPlayerThing();
  126.     leftHandMesh = GetMeshByName(raft, "inlhand");
  127.     rightHandMesh = GetMeshByName(raft, "inrhand");
  128.     backMesh = GetMeshByName(raft, "inraftbk");
  129.     frontMesh = GetMeshByName(raft, "inraftfr");
  130.     
  131.     param = GetParam(1);
  132.     
  133.     call callbacklow;
  134.     return;
  135.  
  136. callbacklow:
  137. //    DebugFlex(param, "Param1");
  138.  
  139.     if (param == 21)    
  140.     {
  141.         if (handSwapRef != -1)
  142.         {
  143. //            DebugPrint("Remove Paddle");
  144.             RestoreThingMesh(raft, handSwapRef);
  145.             handSwapRef = -1;
  146.         }
  147.     }
  148.     else if (param == 23)     #for rowing on left side, top of paddle is in right hand
  149.     {
  150.         if (handSwapRef != -1)
  151.         {
  152.             RestoreThingMesh(raft, handSwapRef);
  153.             handSwapRef = -1;
  154.         }
  155.         handSwapRef = SetThingMesh(raft, rightHandMesh, rightHandModel, 0);
  156.     }
  157.     else if (param == 22)    #for rowing on right side
  158.     {
  159.         if (handSwapRef != -1)
  160.         {
  161.             RestoreThingMesh(raft, handSwapRef);
  162.             handSwapRef = -1;
  163.         }
  164.         handSwapRef = SetThingMesh(raft, leftHandMesh, leftHandModel, 0);
  165.     }
  166.     else if (param == 16) # inflate start
  167.     {
  168.         // Getting in?
  169.         if (GetMoveStatus(raft) == 70)
  170.         {
  171. //            DebugPrint("Start");
  172.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_null, 0);
  173.             frontSwapRef = SetThingMesh(raft, frontMesh, rftfr_ir_null, 0);
  174.         }
  175.         else
  176.         {
  177.             // reset to default state after invisible
  178.             RestoreThingMesh(raft, backSwapRef);
  179.             RestoreThingMesh(raft, frontSwapRef);
  180.             backSwapRef = -1;
  181.             frontSwapRef = -1;
  182.  
  183.         }
  184.     }
  185.     else if (param == 24) # inflate 1
  186.     {
  187. //        DebugPrint("1");
  188.         // Getting in?
  189.         if (GetMoveStatus(raft) == 70)
  190.         {
  191.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_1, 0);
  192.             PlaySoundThing(inflate, raft, 1.0, 0.1, 10.0, 0x480);
  193.         }
  194.         else
  195.         {
  196.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_null, 0);
  197.         }
  198.     }
  199.     else if (param == 25) # inflate 2
  200.     {
  201. //        DebugPrint("2");
  202.         // Getting in?
  203.         if (GetMoveStatus(raft) == 70)
  204.         {
  205.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_2, 0);
  206.         }
  207.         else
  208.         {
  209.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_1, 0);
  210.         }
  211.     }
  212.     else if (param == 26) # inflate 3
  213.     {
  214. //        DebugPrint("3");
  215.         // Getting in?
  216.         if (GetMoveStatus(raft) == 70)
  217.         {
  218.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_3, 0);
  219.         }
  220.         else
  221.         {
  222.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_2, 0);
  223.         }
  224.     }
  225.     else if (param == 27) # inflate 4
  226.     {
  227. //        DebugPrint("4");
  228.         // Getting in?
  229.         if (GetMoveStatus(raft) == 70)
  230.         {
  231.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_4, 0);
  232.         }
  233.         else
  234.         {
  235.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_3, 0);
  236.         }
  237.     }
  238.     else if (param == 28) # inflate 5
  239.     {
  240. //        DebugPrint("5");
  241.         // Getting in?
  242.         if (GetMoveStatus(raft) == 70)
  243.         {
  244.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_5, 0);
  245.         }
  246.         else
  247.         {
  248.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_4, 0);
  249.         }
  250.     }
  251.     else if (param == 29) # inflate 6
  252.     {
  253. //        DebugPrint("6");
  254.         // Getting in?
  255.         if (GetMoveStatus(raft) == 70)
  256.         {
  257.             RestoreThingMesh(raft, backSwapRef);
  258.             frontSwapRef = SetThingMesh(raft, frontMesh, rftfr_ir_paddle, 0);
  259.             backSwapRef = -1;
  260.         }
  261.         else
  262.         {
  263.             backSwapRef = SetThingMesh(raft, backMesh, rftbk_ir_5, 0);
  264.             frontSwapRef = SetThingMesh(raft, frontMesh, rftfr_ir_null, 0);
  265.             PlaySoundThing(deflate, raft, 1.0, 0.1, 10.0, 0x480);
  266.         }
  267.     }
  268.     else if (param == 30)
  269.     {
  270.         // Getting in?
  271.         if (GetMoveStatus(raft) == 70)
  272.         {
  273.             // Remove paddle from front of boat
  274. //            DebugPrint("Done");
  275.             RestoreThingMesh(raft, frontSwapRef);
  276.             frontSwapRef = -1;
  277.         }
  278.         else
  279.         {
  280.             // Place paddle on front of boat
  281. //            DebugPrint("Start");
  282.             frontSwapRef = SetThingMesh(raft, frontMesh, rftfr_ir_paddle, 0);
  283.         }
  284.     }
  285.     return;
  286.  
  287. # -------------------------------------------------------------------
  288.  
  289. end
  290.  
  291.